Перейти к основному содержимому

5.13. Знаки препинания

Разработчику Архитектору

Знаки препинания

Два важных вопроса, которые мучают начинающих программистов:

  1. Когда использовать кавычки двойные ("), одинарные ('), а когда апострофы ()?
  2. Когда использовать точки (.), запятые (,) и точку с запятой (;)?

Двойные (") — строки (&str или String):

let name = "Alice";

Одинарные (') — для литералов типа char:

let c = 'A';

Апострофы () — не поддерживаются. Точка (.) используется для доступа к методам и полям структур:

struct Point { x: i32, y: i32 }
let p = Point { x: 1, y: 2 };
println!("x: {}", p.x);

Запятая (,) для разделения полей, аргументов, элементов массива:

let arr = [1, 2, 3];
fn greet(name: &str, age: u8) {}

Точка с запятой (;) обязательна после большинства выражений:

let x = 5;
println!("Hello");

В Rust нижние подчеркивания имеют больше применений. _name - соглашение, что переменная не используется, предотвращая предупреждение компилятора:

let _logger = "unused";

Приватность в Rust обозначается через pub/pub(crate), не через _. _ может использоваться для полного игнорирования:

let (x, _, z) = (1, 2, 3);

в числах:

let million = 1_000_000;

и как плейсхолдер в матчинге совпадений:

match value {
1 => println!("one"),
_ => println!("something else"), // default
}

В Rust у символа «|» есть две роли:

  1. Побитовое ИЛИ:
let x = 5 | 3; // 7
  1. Замыкания (closures) - параметры прячут в |…| :
vec.iter().map(|x| x * 2)

Здесь |x| является началом и концом списка параметров замыкания.

|| же обычное логическое ИЛИ:

if a || b {
...
}